In [4]:
import numpy as np
In [5]:
def func1(u, v, w):
    n = len(u)
    for i in range(n):
        w[i] = u[i] + 15.2 * v[i]
    
def func2(u, v, w):
    w = u + 15.2 * v
In [6]:
n = 10**7
u = np.random.rand(n)
v = np.random.rand(n)
w = np.zeros(n)


%timeit func1(u,v,w)
%timeit func2(u,v,w)
3.83 s ± 135 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
32.5 ms ± 395 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)
In [ ]: